package gruppe5.dame.server.rfc;

import gruppe5.dame.server.rfc.objects.*;

public interface iRFCListener {
	// Fires when a server socket starts listening
	public void OnServer_Listening(int iID);
	
	// Fires when a server accepts a new client connection
	public void OnServer_NewClient(int iServerSocketID, int iNewClientSocketID);
	
	// Fires when a new client connection is established
	public void OnAll_ConnectionEstablished(int iID);
	
	// Fires when an object is received
	public void OnAll_ObjectReceived(int iID, cPackageHeader.PackageType eType, cPackageHeader oPackage);
	
	// Fires when a LoginRequest is received
	public void OnAll_LoginRequestReceived(int iID, cLoginRequest oObject);
	
	// Fires when a LoginResponse is received
	public void OnAll_LoginResponseReceived(int iID, cLoginResponse oObject);
	
	// Fires when a Lobby is received
	public void OnAll_LobbyReceived(int iID, cLobby oObject);
	
	// Fires when a ChatMessage is received
	public void OnAll_ChatMessageReceived(int iID, cChatMessage oObject);
	
	// Fires when a GameCreateRequest is received
	public void OnAll_GameCreateRequestReceived(int iID, cGameCreateRequest oObject);
	
	// Fires when a GameJoinRequest is received
	public void OnAll_GameJoinRequestReceived(int iID, cGameJoinRequest oObject);
	
	// Fires when a Spielfeld is received
	public void OnAll_SpielfeldReceived(int iID, cSpielfeld oObject);
	
	// Fires when a GameMove is received
	public void OnAll_GameMoveReceived(int iID, cGameMove oObject);
	
	// Fires when a Error is received
	public void OnAll_ErrorReceived(int iID, cError oObject);
	
	// Fires when a socket disconnects
	public void OnAll_Disconnected(int iID);
}
